<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>JSON Voorhees: jsonv::detail::generic_container&lt; TStorage &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://www.mathjax.org/mathjax/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">JSON Voorhees
   </div>
   <div id="projectbrief">Killer JSON for C++</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classjsonv_1_1detail_1_1generic__container.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classjsonv_1_1detail_1_1generic__container-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">jsonv::detail::generic_container&lt; TStorage &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A generic container that exposes the traversal and modification operations externally.  
 <a href="classjsonv_1_1detail_1_1generic__container.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="generic__container_8hpp_source.html">jsonv/detail/generic_container.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:abb1398f0dabc354939fde142f0cafddb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb1398f0dabc354939fde142f0cafddb"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>storage_type</b> = TStorage</td></tr>
<tr class="separator:abb1398f0dabc354939fde142f0cafddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1edafd7da8823e6936e73ca90ed88f3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1edafd7da8823e6936e73ca90ed88f3"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b> = typename storage_type::size_type</td></tr>
<tr class="separator:ae1edafd7da8823e6936e73ca90ed88f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c58246f78de07322c73e51ea992d3b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c58246f78de07322c73e51ea992d3b9"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>value_type</b> = typename storage_type::value_type</td></tr>
<tr class="separator:a7c58246f78de07322c73e51ea992d3b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ec9cb88951987d4440e3f61f26e4dd5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ec9cb88951987d4440e3f61f26e4dd5"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>difference_type</b> = typename storage_type::difference_type</td></tr>
<tr class="separator:a3ec9cb88951987d4440e3f61f26e4dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5399d89529eb36ff6c81e9a14cb2189e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5399d89529eb36ff6c81e9a14cb2189e"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>iterator</b> = typename storage_type::iterator</td></tr>
<tr class="separator:a5399d89529eb36ff6c81e9a14cb2189e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adacef41234b3e96ade3cb3f39e774af3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adacef41234b3e96ade3cb3f39e774af3"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>const_iterator</b> = typename storage_type::const_iterator</td></tr>
<tr class="separator:adacef41234b3e96ade3cb3f39e774af3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56845faa18a9857875329aa83db6323f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56845faa18a9857875329aa83db6323f"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>reverse_iterator</b> = typename storage_type::reverse_iterator</td></tr>
<tr class="separator:a56845faa18a9857875329aa83db6323f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bc95327363567be7da1e44524830007"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2bc95327363567be7da1e44524830007"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>const_reverse_iterator</b> = typename storage_type::const_reverse_iterator</td></tr>
<tr class="separator:a2bc95327363567be7da1e44524830007"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a934129171c0ebdc6ebcfdd398d78c8da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a934129171c0ebdc6ebcfdd398d78c8da"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>reference</b> = typename storage_type::reference</td></tr>
<tr class="separator:a934129171c0ebdc6ebcfdd398d78c8da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaeeb4c33452e5dc6bdf8c89deda70a7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afaeeb4c33452e5dc6bdf8c89deda70a7"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>const_reference</b> = typename storage_type::const_reference</td></tr>
<tr class="separator:afaeeb4c33452e5dc6bdf8c89deda70a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25d081d0ea2b55f7e70cf7b1e9bc758b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25d081d0ea2b55f7e70cf7b1e9bc758b"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>pointer</b> = typename storage_type::pointer</td></tr>
<tr class="separator:a25d081d0ea2b55f7e70cf7b1e9bc758b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59a788584bb234100ec355cc20a37bff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59a788584bb234100ec355cc20a37bff"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>const_pointer</b> = typename storage_type::const_pointer</td></tr>
<tr class="separator:a59a788584bb234100ec355cc20a37bff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6327694e2c3e843964bf1f57ea1c3a86"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6327694e2c3e843964bf1f57ea1c3a86"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>allocator_type</b> = typename storage_type::allocator_type</td></tr>
<tr class="separator:a6327694e2c3e843964bf1f57ea1c3a86"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:abdbe51d6859acfac14a1f766980db216"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abdbe51d6859acfac14a1f766980db216"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>generic_container</b> (storage_type data)</td></tr>
<tr class="separator:abdbe51d6859acfac14a1f766980db216"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abef1030f5e7a03d229fbb2a5a6b848b3"><td class="memTemplParams" colspan="2"><a class="anchor" id="abef1030f5e7a03d229fbb2a5a6b848b3"></a>
template&lt;typename TInputIterator &gt; </td></tr>
<tr class="memitem:abef1030f5e7a03d229fbb2a5a6b848b3"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>generic_container</b> (TInputIterator first, TInputIterator last)</td></tr>
<tr class="separator:abef1030f5e7a03d229fbb2a5a6b848b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b65e78857d9a5c5b3172fbb9222ccb6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b65e78857d9a5c5b3172fbb9222ccb6"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>generic_container</b> (const <a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a> &amp;)=default</td></tr>
<tr class="separator:a8b65e78857d9a5c5b3172fbb9222ccb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad58cd0e18761e8062e45f6e91c40794d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad58cd0e18761e8062e45f6e91c40794d"></a>
<a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a> &amp;)=default</td></tr>
<tr class="separator:ad58cd0e18761e8062e45f6e91c40794d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28cadd9e5da76afb97f89823061a110d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28cadd9e5da76afb97f89823061a110d"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>generic_container</b> (<a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a> &amp;&amp;) noexcept=default</td></tr>
<tr class="separator:a28cadd9e5da76afb97f89823061a110d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a278b8617b396cb82e23bc72e6ec315ce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a278b8617b396cb82e23bc72e6ec315ce"></a>
<a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a278b8617b396cb82e23bc72e6ec315ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad72c2e2a67c6dfa6b81dc0f67dca9b70"><td class="memItemLeft" align="right" valign="top">size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1detail_1_1generic__container.html#ad72c2e2a67c6dfa6b81dc0f67dca9b70">size</a> () const </td></tr>
<tr class="memdesc:ad72c2e2a67c6dfa6b81dc0f67dca9b70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of elements.  <a href="#ad72c2e2a67c6dfa6b81dc0f67dca9b70">More...</a><br /></td></tr>
<tr class="separator:ad72c2e2a67c6dfa6b81dc0f67dca9b70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50dd0ce2361b578bcbf447af27fa31f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50dd0ce2361b578bcbf447af27fa31f2"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>empty</b> () const </td></tr>
<tr class="separator:a50dd0ce2361b578bcbf447af27fa31f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a630ea81e5d7a91a2611b36accf1c0161"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a630ea81e5d7a91a2611b36accf1c0161"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>begin</b> ()</td></tr>
<tr class="separator:a630ea81e5d7a91a2611b36accf1c0161"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb956112939fd2f5249cd7ffdfbae5d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb956112939fd2f5249cd7ffdfbae5d0"></a>
const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>begin</b> () const </td></tr>
<tr class="separator:afb956112939fd2f5249cd7ffdfbae5d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54aa4f02b85f7af315305b7817918061"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54aa4f02b85f7af315305b7817918061"></a>
const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>cbegin</b> () const </td></tr>
<tr class="separator:a54aa4f02b85f7af315305b7817918061"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a821ccf802eb99fe66f9bda4f7c34520f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a821ccf802eb99fe66f9bda4f7c34520f"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>end</b> ()</td></tr>
<tr class="separator:a821ccf802eb99fe66f9bda4f7c34520f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae08052936f962e8dedbdc96f8866874a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae08052936f962e8dedbdc96f8866874a"></a>
const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>end</b> () const </td></tr>
<tr class="separator:ae08052936f962e8dedbdc96f8866874a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f57db19b89d6da37e6e85147ceeb920"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f57db19b89d6da37e6e85147ceeb920"></a>
const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>cend</b> () const </td></tr>
<tr class="separator:a4f57db19b89d6da37e6e85147ceeb920"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d9cced8f249a3bc3b62cd30cc40abab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d9cced8f249a3bc3b62cd30cc40abab"></a>
reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>rbegin</b> ()</td></tr>
<tr class="separator:a9d9cced8f249a3bc3b62cd30cc40abab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4334a7a13eded6249ae35297519a68b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4334a7a13eded6249ae35297519a68b0"></a>
const_reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>rbegin</b> () const </td></tr>
<tr class="separator:a4334a7a13eded6249ae35297519a68b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65736a874b610778d2cec41d86fb66af"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65736a874b610778d2cec41d86fb66af"></a>
const_reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>crbegin</b> () const </td></tr>
<tr class="separator:a65736a874b610778d2cec41d86fb66af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a60a58684caf39ef7014b98a0b9b296"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a60a58684caf39ef7014b98a0b9b296"></a>
reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>rend</b> ()</td></tr>
<tr class="separator:a2a60a58684caf39ef7014b98a0b9b296"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afde08d1306aed3b8baa0500b5659f289"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afde08d1306aed3b8baa0500b5659f289"></a>
const_reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>rend</b> () const </td></tr>
<tr class="separator:afde08d1306aed3b8baa0500b5659f289"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a410fa5d14491e37330e41a718d0a254f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a410fa5d14491e37330e41a718d0a254f"></a>
const_reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>crend</b> () const </td></tr>
<tr class="separator:a410fa5d14491e37330e41a718d0a254f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e20447249ff850b2987485cac268f0d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e20447249ff850b2987485cac268f0d"></a>
reference&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (size_type idx)</td></tr>
<tr class="separator:a3e20447249ff850b2987485cac268f0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d7403f6d8add1320b9716651fa37c92"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d7403f6d8add1320b9716651fa37c92"></a>
const_reference&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (size_type idx) const </td></tr>
<tr class="separator:a2d7403f6d8add1320b9716651fa37c92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bef1ce6e87127577f70f6c5b29d6b0c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6bef1ce6e87127577f70f6c5b29d6b0c"></a>
reference&#160;</td><td class="memItemRight" valign="bottom"><b>at</b> (size_type idx)</td></tr>
<tr class="separator:a6bef1ce6e87127577f70f6c5b29d6b0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17f34d4613a1337e20703b87369288aa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a17f34d4613a1337e20703b87369288aa"></a>
const_reference&#160;</td><td class="memItemRight" valign="bottom"><b>at</b> (size_type idx) const </td></tr>
<tr class="separator:a17f34d4613a1337e20703b87369288aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58dedac867cacc0dcdeea5f62decfad3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58dedac867cacc0dcdeea5f62decfad3"></a>
reference&#160;</td><td class="memItemRight" valign="bottom"><b>front</b> ()</td></tr>
<tr class="separator:a58dedac867cacc0dcdeea5f62decfad3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11eae3f80e64ba565f7f3e3f9942cf61"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11eae3f80e64ba565f7f3e3f9942cf61"></a>
const_reference&#160;</td><td class="memItemRight" valign="bottom"><b>front</b> () const </td></tr>
<tr class="separator:a11eae3f80e64ba565f7f3e3f9942cf61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bf8d643669bd717e0a09a53ce6d1c02"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bf8d643669bd717e0a09a53ce6d1c02"></a>
reference&#160;</td><td class="memItemRight" valign="bottom"><b>back</b> ()</td></tr>
<tr class="separator:a8bf8d643669bd717e0a09a53ce6d1c02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23dc544992be74357f9f29c3ec9360e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23dc544992be74357f9f29c3ec9360e4"></a>
const_reference&#160;</td><td class="memItemRight" valign="bottom"><b>back</b> () const </td></tr>
<tr class="separator:a23dc544992be74357f9f29c3ec9360e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab48fa2cd726eeb5c52757e03e9c132a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab48fa2cd726eeb5c52757e03e9c132a4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
<tr class="separator:ab48fa2cd726eeb5c52757e03e9c132a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53b7daf6e3ce22c06620511cd26e798c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a53b7daf6e3ce22c06620511cd26e798c"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>insert</b> (const_iterator pos, const value_type &amp;x)</td></tr>
<tr class="separator:a53b7daf6e3ce22c06620511cd26e798c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a868a0393ea96ff1aeccd9baf643bc112"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a868a0393ea96ff1aeccd9baf643bc112"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>insert</b> (const_iterator pos, value_type &amp;&amp;x)</td></tr>
<tr class="separator:a868a0393ea96ff1aeccd9baf643bc112"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a22e15975e7ce0a139090e17c73f886"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7a22e15975e7ce0a139090e17c73f886"></a>
template&lt;typename TInputIterator &gt; </td></tr>
<tr class="memitem:a7a22e15975e7ce0a139090e17c73f886"><td class="memTemplItemLeft" align="right" valign="top">iterator&#160;</td><td class="memTemplItemRight" valign="bottom"><b>insert</b> (const_iterator pos, TInputIterator first, TInputIterator last)</td></tr>
<tr class="separator:a7a22e15975e7ce0a139090e17c73f886"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae70362ca078643261b1b1d359af54334"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae70362ca078643261b1b1d359af54334"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>insert</b> (const_iterator pos, std::initializer_list&lt; value_type &gt; ilist)</td></tr>
<tr class="separator:ae70362ca078643261b1b1d359af54334"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33b1b09984a042e3a8ec4870bd7bc696"><td class="memTemplParams" colspan="2"><a class="anchor" id="a33b1b09984a042e3a8ec4870bd7bc696"></a>
template&lt;typename... TArgs&gt; </td></tr>
<tr class="memitem:a33b1b09984a042e3a8ec4870bd7bc696"><td class="memTemplItemLeft" align="right" valign="top">iterator&#160;</td><td class="memTemplItemRight" valign="bottom"><b>emplace</b> (const_iterator pos, TArgs &amp;&amp;...args)</td></tr>
<tr class="separator:a33b1b09984a042e3a8ec4870bd7bc696"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32b8bb9735b89255fef7fd007d32a795"><td class="memTemplParams" colspan="2"><a class="anchor" id="a32b8bb9735b89255fef7fd007d32a795"></a>
template&lt;typename... TArgs&gt; </td></tr>
<tr class="memitem:a32b8bb9735b89255fef7fd007d32a795"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>emplace_back</b> (TArgs &amp;&amp;...args)</td></tr>
<tr class="separator:a32b8bb9735b89255fef7fd007d32a795"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a779631a16fff1854989742d898d36f7a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a779631a16fff1854989742d898d36f7a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>push_back</b> (const value_type &amp;x)</td></tr>
<tr class="separator:a779631a16fff1854989742d898d36f7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cd2f25b8cd68b31aeab7d41699fe6c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3cd2f25b8cd68b31aeab7d41699fe6c9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>push_back</b> (value_type &amp;&amp;x)</td></tr>
<tr class="separator:a3cd2f25b8cd68b31aeab7d41699fe6c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e56b114feca59a414eca10576116434"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e56b114feca59a414eca10576116434"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>erase</b> (const_iterator pos)</td></tr>
<tr class="separator:a3e56b114feca59a414eca10576116434"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17216fa20f8a4c0e2bcc1c852775c6f5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a17216fa20f8a4c0e2bcc1c852775c6f5"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>erase</b> (const_iterator first, const_iterator last)</td></tr>
<tr class="separator:a17216fa20f8a4c0e2bcc1c852775c6f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e9850882f2bf88ea25bd0119945e3b2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e9850882f2bf88ea25bd0119945e3b2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>pop_back</b> ()</td></tr>
<tr class="separator:a1e9850882f2bf88ea25bd0119945e3b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:aa8c86f6f3208814657f190d43b045fd9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8c86f6f3208814657f190d43b045fd9"></a>
storage_type&#160;</td><td class="memItemRight" valign="bottom"><b>_data</b></td></tr>
<tr class="separator:aa8c86f6f3208814657f190d43b045fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename TStorage&gt;<br />
class jsonv::detail::generic_container&lt; TStorage &gt;</h3>

<p>A generic container that exposes the traversal and modification operations externally. </p>
<p>Basically, this is just a way to allow deriving from <code>std::vector</code> without actually doing so. </p>

<p>Definition at line <a class="el" href="generic__container_8hpp_source.html#l00029">29</a> of file <a class="el" href="generic__container_8hpp_source.html">generic_container.hpp</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ad72c2e2a67c6dfa6b81dc0f67dca9b70"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TStorage&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_type <a class="el" href="classjsonv_1_1detail_1_1generic__container.html">jsonv::detail::generic_container</a>&lt; TStorage &gt;::size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the number of elements. </p>

<p>Definition at line <a class="el" href="generic__container_8hpp_source.html#l00065">65</a> of file <a class="el" href="generic__container_8hpp_source.html">generic_container.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>jsonv/detail/<a class="el" href="generic__container_8hpp_source.html">generic_container.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>jsonv</b></li><li class="navelem"><b>detail</b></li><li class="navelem"><a class="el" href="classjsonv_1_1detail_1_1generic__container.html">generic_container</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
